#ifndef GLOBAL_H
#define GLOBAL_H

#include <stdbool.h>

/* 网络配置 */
#define DEFAULT_PORT 8080
#define DEFAULT_SERVER_IP "127.0.0.1"
#define NET_BUFFER_SIZE 1024
#define MAX_RETRIES 3
#define RETRY_INTERVAL 5

/* 数据库配置 */
#define DEFAULT_DB_PATH "temper.db"
#define DATA_RETENTION_DAYS 7  // 保留最近7天的数据

/* 传感器配置 */
#define SENSOR_READ_INTERVAL 10  // 传感器读取间隔(秒)
#define DEFAULT_SENSOR_ID "default_sensor"

/* 日志配置 */
#define LOG_FILE "client.log"
#define LOG_LEVEL LOG_LEVEL_INFO
#define LOG_MAX_SIZE 1024  // 1MB
#define LOG_LOCK_ENABLED true

/* 时间格式 */
#define TIMESTAMP_FORMAT "%Y-%m-%d %H:%M:%S"

/* 全局配置结构体 */
typedef struct {
    // 网络配置
    int port;
    char server_ip[16];
    
    // 数据库配置
    char db_path[256];
    int retention_days;
    
    // 传感器配置
    int read_interval;
    char sensor_id[32];
    
    // 日志配置
    char log_file[256];
    int log_level;
    long log_max_size;
    bool log_lock_enabled;
} GlobalConfig;

/* 全局变量声明 */
extern GlobalConfig g_config;

/* 函数声明 */
void init_global_config(void);
void print_global_config(void);

#endif /* GLOBAL_H */